/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;


import Dao.FabricaConexao;
import Dao.PedidosDao;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Diego
 */
public class PedidosModel {

    private int CodPedidos;
    private ClienteModel ClientePedidos;
    private ProdutoModel ProdutosPedidos;
    
    /**
     * @return the CodCliente
     */
    public PedidosModel() {
        this.CodPedidos =-1;
        
    }

    
     
   

    public void setProximoCodigo() {
        int ProximoCodigo = PedidosDao.PegaCodPelaNavegacao(PedidosDao.cNavUltimo, 0);
        this.setCodPedidos(ProximoCodigo + 1);
    }

    public void Salvar() {
        PedidosDao.Salvar(this);
    }

    public List<PedidosModel> RecuperaObjeto(int iCod) {
        List<PedidosModel> PedidosTemp = new ArrayList<PedidosModel>();
        PedidosTemp = PedidosDao.RecuperaPedidos(iCod);
        return PedidosTemp;

    }

    public void Atualizar() {
        PedidosDao.Alterar(this);
    }

    public void Excluir(int CodAtual) {
        PedidosDao.Excluir(CodAtual);
    }

    public List<PedidosModel> RecuperaObjetoNaveg(int op, int iCod) {
        int CodNav = PedidosDao.PegaCodPelaNavegacao(op, iCod);
        return RecuperaObjeto(CodNav);
    }
    
    public List<CidadeModel> RetornaPedidos() {
        CidadeModel Cidade = new CidadeModel();
        List<CidadeModel> Cidades = new ArrayList<CidadeModel>();
        Cidades = Cidade.RetornaCidades();
        return Cidades;        
    }

 /*   public ArrayList<PedidosModel> RecuperaObjetos(String Campo, String Valor, boolean EmQualquerParte) {
         String NomeCampo="";
        if(Campo.equals("0")){
            NomeCampo="NOME_CLI";
        }else if(Campo.equals("1")){
            NomeCampo="CPF_CLI";
       /* }else{
            NomeCampo="CIDADE_CLI";
             
        }
        return PedidosDao.PesquisaObjeto(NomeCampo, Valor, EmQualquerParte);
    
    } */

    /**
     * @return the CodPedidos
     */
    public int getCodPedidos() {
        return CodPedidos;
    }

    /**
     * @param CodPedidos the CodPedidos to set
     */
    public void setCodPedidos(int CodPedidos) {
        this.CodPedidos = CodPedidos;
    }

    /**
     * @return the ClientePedidos
     */
    public ClienteModel getClientePedidos() {
        return ClientePedidos;
    }

    /**
     * @param ClientePedidos the ClientePedidos to set
     */
    public void setClientePedidos(ClienteModel ClientePedidos) {
        this.ClientePedidos = ClientePedidos;
    }

    /**
     * @return the ProdutosPedidos
     */
    public ProdutoModel getProdutosPedidos() {
        return ProdutosPedidos;
    }

    /**
     * @param ProdutosPedidos the ProdutosPedidos to set
     */
    public void setProdutosPedidos(ProdutoModel ProdutosPedidos) {
        this.ProdutosPedidos = ProdutosPedidos;
    }

    public List<PedidosModel> RecuperaPedidos(int Cod){
        List<PedidosModel> Registro = new ArrayList<PedidosModel>();
        Registro = PedidosDao.RecuperaPedidos(Cod);
        return Registro;  
        
    }
   
    
}
